package zgrjb.snbq.teach_platform.dto.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户数据对象
 * 对应数据库表：user
 */
@Data
@TableName("user")
public class UserDO {

    private Long id;

    private String name;

    private String phone;

    private String email;

    private String password;

    @TableField("head_img")
    private String headImg;

    private String type; // admin, teacher, student

    // 教师专有字段
    private String department; // 所属部门/学院
    private String title; // 职称
    private String subject; // 主要学科/专业
    @TableField("teacher_no")
    private String teacherNo; // 教师工号

    // 学生专有字段
    @TableField("student_id")
    private String studentId; // 学号
    private String major; // 所学专业
    @TableField("class_name")
    private String className; // 所在班级
    private String grade; // 年级

    // 扩展字段 - 临时注释，等待数据库扩展
    // private Integer gender; // 性别：1-男，2-女，0-未知
    // private String bio; // 个人简介
    // private String settings; // 用户设置(主题、字体等)，JSON格式

    // 公共字段
    private Integer status; // 状态：1-正常，0-禁用
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
